package com.ygqh.baby.service;

import com.ygqh.baby.ao.QueryInfo;
import com.ygqh.baby.ao.ResultSet;
import com.ygqh.baby.model.SkuCombinationQuery;
import com.ygqh.baby.po.YgOrderDetail;
import com.ygqh.baby.po.YgSkuCombination;

import java.util.List;

/**
 * @author admin
 */
public interface YgSkuCombinationService {


    List<YgSkuCombination> find();

    int findCount();

    YgSkuCombination findById(Long id);

    int deleteSoft(Long[] ids);

    int deleteSoft(Long id);

    int save(YgSkuCombination ygSkuCombination);

    int update(YgSkuCombination ygSkuCombination);

    int saveOrUpdate(YgSkuCombination ygSkuCombination);

    /**
     * 按skuId 获取组合装sku列表
     *
     * @param skuIds skuIds
     * @return List<YgSkuCombination>
     */
    List<YgSkuCombination> findListBySkuIds(Long... skuIds);

    /**
     * 重新组装订单明细
     *
     * @param orderDetailList 原订单明细
     */
    List<YgOrderDetail> reassemblyOrderDetails(List<YgOrderDetail> orderDetailList);

    ResultSet<YgSkuCombination> search(SkuCombinationQuery query);
}
